Systems and methods for automatic configuration and automatic calibration of continuously variable transmissions and bicycles having continuously variable transmissions

ABSTRACT

A continuously variable transmission on a bicycle may be automatically configured with little or no assistance from a user. Optical scanning devices, RFIDs, and other information capturing technology can communicate with a controller. The controller may then perform a portion or all of a configuration process. In operation, a controller may determine that calibration is needed. A calibration process may be initiated and performed with little or no user interaction. A calibration process may account for a load, a power source, or an environment.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of U.S. patent application Ser. No.16/034,659, filed Jul. 13, 2018 and scheduled to issue on Dec. 29, 2020as U.S. Pat. No. 10,875,603, which is a continuation of U.S. patentapplication Ser. No. 15/172,031, filed Jun. 2, 2016 and issued as U.S.Pat. No. 10,023,266 on Jul. 17, 2018, which claims priority under 35U.S.C. § 119(e) to U.S. Provisional Patent Application No. 62/334,947,filed May 11, 2016, and to U.S. Provisional Patent Application No.62/344,325, filed Jun. 1, 2016. The disclosures of all of theabove-referenced prior applications, publications, and patents areconsidered part of the disclosure of this application, and areincorporated by reference herein in their entirety.

Continuously variable transmissions (CVTs) are being used ever moreincreasingly in systems in which shift shock, gear collisions, and othermechanical events are known to occur. In particular, continuouslyvariable transmissions are gaining popularity for cyclists because theyprovide a continuous range of transmission ratios, are easy to use,require little or no maintenance, and have increased reliability overgeared transmissions.

In ball planetary type CVTs, power may be transferred between componentsvia a traction fluid. The use of a traction fluid avoids issues withgeared transmissions. In particular, CVTs such as those described inU.S. Pat. Nos. 7,011,600, 7,238,136, 7,198,585, 7,250,018, 7,166,056,7,235,031, 7,169,076, 7,288,042, 7,396,209, 8,066,614, 7,731,615,7,651,437, 7,727,108, 7,686,729, 8,267,829, 7,238,137, 7,036,620,7,238,138, 7,232,395, 7,125,297, 8,469,853, 8,628,443 and 7,322,901provide smooth acceleration and deceleration by eliminating theundesirable mechanical events associated with geared transmissions.

Some CVTs may employ electronic mechanisms for automatically adjustingthe transmission ratio. To improve the performance and accuracy of thesemechanisms, configuration and calibration may be performed at setup, atselected intervals, when a component is replaced, etc. Presently,configuration information is entered manually, and calibration may beperformed on an ad hoc basis, such as when manually initiated by a userof a bicycle.

The steps needed to configure a bicycle may seem relatively easy. Forexample, experienced cyclists are generally aware that the number ofteeth on a front gear is usually stamped onto the gear itself.Furthermore, experienced cyclists may know the number of teeth on a gearbased on their experience of handling gears, interacting with the gearmanufacturer, or by previous trial and error. However, for people notfamiliar with the different components on a bicycle, this process isprone to errors and frustration. For example, even if the number ofteeth is stamped on a gear, a person with little or no experience withbicycles might not know to look for a number stamped on the gear ormight not know where to find it. Or, the user might manually count thenumber of teeth. This can be frustrating, the user might not bephysically able to perform the task, and errors can occur. Furthermore,if the person makes a mistake and enters the wrong number, the personmight not know there is an error or might not know how to correct theerror.

SUMMARY

Embodiments disclosed herein may be integrated with an automatic ratioadjusting system or may otherwise extend the functionality of anautomatic ratio adjusting system. The ratio adjusting system may be usedto change the transmission ratio over a range of transmission ratios.Systems and methods disclosed herein may ensure the entire range isavailable.

Systems disclosed herein may be communicatively coupled via a controllerarea network (CAN). Communicative coupling may involve a wireless orwired connection, and may involve continuous communication ordiscontinuous communication for the purpose of sending and receivinginformation from any of several components.

In one broad respect, an auto-configuration system may include acontroller area network (CAN) with a system controller communicativelycoupled to sensors and a CVT controller. At start up, the systemcontroller sends a mutually pre-defined packet over the CAN bus to theCVT controller which stores information about components.

In another broad respect, embodiments disclosed herein may be directedto a system and method for determining a physical configuration of abicycle and for determining an operational configuration of the bicycle.A user aligns components of the bicycle within a virtual overlaydepicted on a screen. A picture of the rear gear is used to determinethe number of rear gear teeth, the rear gear size, and other rear gearinformation. A picture of the rear wheel is used to determine the rearwheel diameter and the relationship in size between the rear wheel andthe rear gear. A picture of the front gear is used to determine thenumber of front gear teeth and the front gear size. A picture of theentire bicycle is used to determine physical properties of the bicycle,the chain length, and other metric information, which is used todetermine operational parameters of the bicycle.

Calibration may use an adaptive algorithm, including identifying apolynomial or other equation, and using empirical data. A firstpolynomial may characterize the performance of a CVT under a first load,and a second polynomial may characterize the performance of a CVT undera second load. In other settings, a single polynomial may characterizethe performance of a CVT and values for different variables within thepolynomial may be changed to characterize the performance of the CVTunder different loads.

In one embodiment, a system for automatic calibration of a bicycleincludes a first controller having a first processor and a first memorystoring a first set of instructions executable by the first processorand adapted to: initiate a camera function; determine if a first imageof a first component of the bicycle exists; if an image of the firstcomponent of the bicycle exists, determine a physical characteristic ofthe first component. The system also includes a second set ofinstructions adapted to control one or more of a continuously variabletransmission and an electric motor based on the physical characteristicof the first component. The first component can include a gear. Thesystem can include an overlay on a display coupled to the firstprocessor adapted to aid a user in determining if the first image of thefirst component is correlated with the overlay. In some embodiments, thefirst controller is part of a smart phone, a personal data assistant, ora tablet. The system can include a second controller having a secondprocessor and a second memory, wherein the second set of instructions isat least in part stored on the second memory and executed by the secondprocessor. The first controller can be a portable computing device. Thesecond controller can be coupled to the bicycle. The first controllercan be further adapted to: determine if a second image of a secondcomponent of the bicycle exists; and determine a physical characteristicof the second component, wherein the second processor is adapted tocontrol one or more of the continuously variable transmission and theelectric motor based on one or more of the physical characteristic ofthe first component and the physical characteristic of the secondcomponent. In one embodiment, the first component is a first gear andthe second component is a second gear, and the first set of instructionsare executable to determine a gear ratio based on the first gear and thesecond gear. In another embodiment, the first component is a first gearand the second component is a second gear, and the second set ofinstructions are executable to determine a gear ratio based on the firstgear and the second gear. In a further embodiment, the first componentis a first gear and the second component is a wheel, and the first setof instructions are executable to determine a motor speed based on thefirst gear and the wheel.

A system for automatic calibration of a bicycle is provided. The systemincludes a first computer adapted to determine a first set of operatingparameters of the bicycle, and communicate the first set of operatingparameters to a second computer. The second computer has a set ofinstructions to: determine a first characteristic of a first component;and control a continuously variable transmission based on the firstcomponent and the first set of operating parameters. In one embodiment,the first set of operating parameters are associated with a roadbicycle. Control of the continuously variable transmission based on thefirst component and the first set of operating parameters includesoptimizing the continuously variable transmission for a rider onsubstantially paved roads. In another embodiment, the system includes anelectric motor and the first set of operating parameters are associatedwith a road bicycle. Control of the continuously variable transmissionbased on the first component and the first set of operating parametersincludes optimizing the continuously variable transmission and theelectric motor for a rider on substantially paved roads. In a furtherembodiment, the first set of operating parameters are associated with amountain bicycle, and control of the continuously variable transmissionbased on the first component and the first set of operating parametersincludes optimizing the continuously variable transmission for a rideron unpaved routes. In still a further embodiment, the system includes anelectric motor and the first set of operating parameters are associatedwith a mountain bicycle. Control of the continuously variabletransmission based on the first component and the first set of operatingparameters includes optimizing the continuously variable transmissionand the electric motor for a rider on unpaved routes. In yet anotherembodiment, the first set of operating parameters are associated with acommercial bicycle, and control of the continuously variabletransmission based on the first component and the first set of operatingparameters includes optimizing the continuously variable transmissionfor a rider transporting heavy items. In yet a further embodiment, thesystem includes an electric motor, and the first set of operatingparameters are associated with a commercial bicycle. Control of thecontinuously variable transmission based on the first component and thefirst set of operating parameters includes optimizing the continuouslyvariable transmission and the electric motor for a rider transportingheavy items. In some embodiments, determining the first characteristicof the first component includes determining one of a gear size, a geartooth count, a wheel size, a chain length, a gear ratio, a frame size, alength of a frame member and a seat height.

A method for automatic calibration of a bicycle can include determininga frame size of the bicycle; determining a wheel size for the bicycle;determining a front gear size for the bicycle; determining a rear gearsize for the bicycle; determining an operating range for a continuouslyvariable transmission based on the frame size, wheel size, front gearsize or rear gear size for the bicycle; and communicating a set ofinstructions for controlling a continuously variable transmission (CVT)based on the determined operating range. The wheel size can correspondto a mountain bike, and the set of instructions can be executable tocontrol a CVT under mountain biking conditions. The set of instructionscan be communicated to a continuously variable transmission controller.The set of instructions can be communicated to a bike controller. Afirst portion of the set of instructions can be communicated to acontinuously variable transmission controller and a second portion ofthe set of instructions can be communicated to a CVT controller. Thefirst portion of the set of instructions can consist of instructions foradjusting a continuously variable transmission. The first portion of theset of instructions can be for calculating a continuously variabletransmission ratio. The first portion of the set of instructions can befor looking up a continuously variable transmission ratio in a datastructure stored in memory. The first portion of the set of instructionscan be for looking up a continuously variable transmission ratio in atable stored in memory. The second portion of the set of instructionscan be instructions for adjusting a continuously variable transmission.The second portion of the set of instructions can be for calculating acontinuously variable transmission ratio. The second portion of the setof instructions can be for looking up a continuously variabletransmission ratio in a data structure stored in memory. The secondportion of the set of instructions can be for looking up a continuouslyvariable transmission ratio in a table stored in memory. The secondportion of the set of instructions can further include instructions forcontrolling an electric motor.

A method for configuring a bicycle can include: communicating, atstartup by a continuously variable transmission controller, a firstpacket of information to a bike controller, the packet of informationcontaining one or more operating parameters for a continuously variabletransmission; and communicating, at startup by a continuously variabletransmission controller, a first packet of information to a bikecontroller, the packet of information containing one or more operatingparameters for a continuously variable transmission.

A method for configuring a bicycle can include presenting a display viaa graphical user interface (GUI); receiving, via the GUI, one or moreuser inputs; and operating the bicycle according to a set of parametersbased on the one or more user inputs. At least one user input cancorrespond to a cadence. At least one user input can correspond to agear ratio. At least one user input can correspond to a desired ridingperformance. At least one user input can correspond to a distance. Atleast one user input can correspond to a bicycle speed. At least oneuser input can correspond to a load. Operating the bicycle according toa set of parameters can include determining an algorithm for operatingthe bicycle. Operating the bicycle according to a set of parametersbased on the one or more user inputs can include: operating the bicycleaccording to a first algorithm; determining a second algorithm based onthe set of parameters; and replacing the first algorithm with the secondalgorithm. The set of parameters can include information about one ormore components on the bicycle. The one or more components can includeone or more of a continuously variable transmission, an electric motor,a rear gear, a front gear, a chain length, and a physical configurationof the bicycle. The method can further include communicating the secondalgorithm to a server. Operating the bicycle according to a set ofparameters based on the one or more user inputs can include operatingthe bicycle according to a first algorithm; determining a secondalgorithm based on the one or more user inputs; and replacing the firstalgorithm with the second algorithm. The one or more user inputscomprises an operating mode or a target cadence.

A method for determining an operating range for a continuously variabletransmission (CVT) on a bicycle can include determining a first ratiopoint from a first wheel speed; adjusting a continuously variabletransmission ratio at a predetermined rate to a first physical limit;and calculating, based on a time needed to reach the first physicallimit from the first ratio point, a second physical limit of thecontinuously variable transmission. The first physical limit can be fullunderdrive. The first physical limit can be full overdrive. Adjusting acontinuously variable transmission ratio at a predetermined rate caninclude changing the tilt angle of a ball planetary type CVT at apredetermined rate. Adjusting a continuously variable transmission ratioat a predetermined rate can include changing a beta angle of a firststator relative to a second stator of a ball planetary type CVT at apredetermined rate. The predetermined rate can be linear. Determining afirst ratio point can be based on an encoder position.

A method of controlling a continuously variable transmission (CVT) caninclude operating the CVT according to an open loop process under afirst set of operating conditions; and operating the CVT according to aclosed loop process under a second set of operating conditions. Thefirst set of operating conditions can include low load conditions. Thesecond set of operating conditions can include high load conditions. Thesecond set of operating conditions can include high pedal rotationalspeed conditions. The second set of operating conditions can includehigh pedal rotational speed conditions in excess of 80 revolutions perminute. The second set of operating conditions can include high pedalrotational speed conditions in excess of 90 revolutions per minute. Thesecond set of operating conditions can include high pedal rotationalspeed conditions in excess of 100 revolutions per minute. The second setof operating conditions can include high pedal rotational speedconditions in excess of 110 revolutions per minute.

A method of controlling a continuously variable transmission (CVT) caninclude operating the CVT according to a first polynomial under a firstset of operating conditions; and operating the CVT according to a secondpolynomial under a second set of operating conditions. The first set ofoperating conditions can include low load conditions. The second set ofoperating conditions can include high load conditions. The second set ofoperating conditions can include high pedal rotational speed conditions.The second set of operating conditions can include high pedal rotationalspeed conditions in excess of 80 revolutions per minute. The second setof operating conditions can include high pedal rotational speedconditions in excess of 90 revolutions per minute. The second set ofoperating conditions can include high pedal rotational speed conditionsin excess of 100 revolutions per minute. The second set of operatingconditions can include high pedal rotational speed conditions in excessof 110 revolutions per minute.

A method of controlling a continuously variable transmission includes:during a ride, operating a continuously variable transmission accordingto a first algorithm; storing, by the controller in a memory, data forthe bicycle over a predetermined time period, wherein the data includesa predicted distance associated with a rear wheel speed and a cadence inaccordance with the first algorithm; if the rear wheel speed and thecadence remain substantially constant over the predetermined timeperiod: determining the actual distance covered during the predeterminedtime period; and determining a second algorithm based on the actualdistance covered; and operating the continuously variable transmissionaccording to the second algorithm. Determining the actual distancecovered can include comparing a first set of GPS coordinates from abeginning of a data set with a second set of GPS coordinates from an endof the data set. Determining the actual distance covered can includecomparing the rear wheel speed over time to a set of GPS coordinates.

A method of configuring a controller for a continuously variabletransmission on a bicycle can include the steps of: establishing a firstconfiguration setting; monitoring a set of riding data to determine whena steady state speed is maintained for a specified period of time;recording said riding data until the earlier of a second specifiedperiod or until the riding data deviates by a predetermined amount fromthe steady state speed; identifying a control set of data by comparing afirst set of GPS data at the beginning of the recorded data to a secondset of GPS data at the end of the recorded data; comparing the recordeddata against the control set of data to develop an error value; andestablishing a second configuration setting for the controller based onthe error value. The method can further include requesting and receivingan input of information from a user; and correlating the informationreceived from the user with a set of stored data to establish the firstconfiguration setting. The information that is provided in the input ofinformation step can include one or more of the following; bicyclemodel, tire size, front chain ring teeth, rear cog teeth, bicycle sizeand serial number. The riding data can include one or more of wheelspeed, pedal cadence, expected bicycle speed, bicycle position andcontinuously variable transmission ratio. The steps of monitoring,recording, identifying, comparing and establishing a secondconfiguration setting can be repeated until the error value is within aspecified tolerance. The controller can repeat the steps of monitoring,recording, identifying, comparing and establishing a secondconfiguration setting periodically to monitor the configuration settingand ensure it remains within the specified tolerance. The period of timebetween monitoring the configuration setting can be no more than onemonth. The period of time between monitoring the configuration settingcan be no more than one week. The process to monitor the configurationsetting of the controller can occur every time the bicycle remains at asteady state, meaning speed and cadence are within the definedtolerance, for more than 30 seconds.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of a bicycle configuration system,illustrating variations and steps in a bicycle configuration processaccording to one embodiment of the present disclosure.

FIG. 2 is a simplified view of a bicycle, illustrating typical mountinglocations for various features according to one embodiment of thepresent disclosure.

FIG. 3A is a flow diagram, illustrating variations and steps in a CVTcontrol process according to one embodiment of the present disclosure.

FIG. 3B is a schematic diagram, illustrating steps and variations in aCVT control scheme according to one embodiment of the presentdisclosure.

FIG. 4 is a diagram, illustrating a method for enabling a user tocapture information without manually entering each piece of informationaccording to one embodiment of the present disclosure.

FIG. 5A is a diagram, illustrating transmission ratio over timeaccording to one embodiment of the present disclosure.

FIG. 5B is a diagram of transmission ratio relative to time,illustrating a control scheme using open loop and closed loop controlschemes under different conditions according to one embodiment of thepresent disclosure.

DETAILED DESCRIPTION

As defined herein, the term configuration refers to any process forensuring a controller “knows” the system in which it is operating.Configuration may involve any process in which a controller iscommunicatively coupled to components and is able to communicate using acommunication protocol or control scheme according to a controlpreference available to or preferred by a user. The system may includejust the CVT, may include a drive train including the CVT, or mayinclude a bicycle having a CVT or a bicycle having a drive train with aCVT. A drive train may include a chain, belt or other power transmittingelement between one or more power sources and one or more power loads.

Steps in a configuration process may be performed at one or more levelsin the production or assembly of a bicycle or the delivery of a bicycleto an end user. Although certain preferred embodiments may be describedherein, it should be noted that an original equipment manufacturer (OEM)may perform part or all of a configuration process, a dealer or otherentity in the sales chain may perform part or all of a configurationprocess, and an end user may perform part or all of a configurationprocess.

FIG. 1 is a schematic diagram of a bicycle configuration system, furtherillustrating variations and steps in a bicycle configuration process. Asdepicted in FIG. 1, components are manufactured by an OEM 105, a bicycleor kit is assembled by vendor 110, and the bicycle is obtained (eitherby sale or by rental) or the kit is assembled by end user 115.

At OEM 105, the component may be manufactured according to desiredspecifications 122. Configuration information from OEM 105 may be storedat configuration server 130 or communicated to user profile server 135,vendor server 125, or device 116. A configuration process may includestep 106 of OEM 105 adding a label with configuration information on thelabel. In addition to information such as part number or serial number,other information may be added. For example, if the component ismanufactured to fulfill a customer order, information about the end user115 may be included, such as a preferred language, units, or the like.Configuration information may be received or otherwise obtained fromconfiguration server 130.

A configuration process may include step 111, in which information issent from OEM 105 to configuration server 130. Information sent toconfiguration server 130 may include information including compatibilityinformation relative to other components manufactured by other OEMs 105.Information from other OEMs 105 may include inertia information from awheel or tire OEM; weight, inertia, center of gravity or otherproperties of a frame from a frame OEM; wheel dropout angle, depth orother metrics information from a frame OEM, and the like.

Components (e.g., frames, wheels, rims, gears, electric motors,transmissions, etc.) from various OEMs 105 may be obtained by vendor orother entity 110 during the production of a bicycle. A configurationprocess may include step 107, in which a label may be read to getinformation. Machine-readable optical labels may be used to communicateconfiguration information. A QR Code™ is one example of a matrix barcodethat contains information about the item to which it is attached. Avendor or other entity 110 in the supply chain may use an imaging deviceto scan the optical label and determine or verify the country ofmanufacture (country of origin) for a component, assembly or bicycle.Information stored in either a central computer or a computer controlledby the entity may be used to configure the bicycle. For example, if abicycle dealer in Germany scans an optical label, information about thebicycle may be presented in German and any units may be metric, whereasif a bicycle dealer in the United States were to scan the same opticallabel, information about the bicycle may be presented in English and anyunits may be standard, whereas if a bicycle dealer in England were toscan the same optical label, information may be presented in English andany units may be imperial.

A configuration process may include step 112, in which setup informationis retrieved by entity 110 from configuration server 130. In someembodiments, entity 110 may have an imaging device to scan an opticallabel, a radio-frequency identification (RFID) reader to identify a tag,or some other technology to determine information about a component,subassembly, assembly or bicycle. For example, in some embodiments, a QRcode or other optical label may include serial number information, partnumber information, country of origin (manufacture), vendor information,dealer information, user information, or the like. With thisinformation, configuration of a bicycle may be performed by entity 110.

In some embodiments, a bicycle may utilize a system controller and a CVTcontroller. Configuration information may be analyzed by vendor server125 to determine which CVT controller is a best match for the systemcontroller. Or, if there is a particular CVT controller running acertain version of firmware, configuration server 130 may provideinformation about what system controller should be used or is preferred,a preferred setup sequence, or the like. In some embodiments,configuration server 130 may contain instructions for configuration thatcan be loaded onto a system controller or a CVT controller independentof the other, such that an end user can trigger or request a finalconnection between the two controllers and the controllers immediatelycommunicate with each other.

In some embodiments, configuration information read from a label isanalyzed to select what configuration information is retrieved fromconfiguration server 130. For example, entity 110 may have informationabout a preferred system controller configurable to communicate with anyof several different CVT controllers available, with each CVT controllerusing a different communication protocol (including different versionsof the same protocol). If a label is scanned and it is determined that aparticular CVT controller is to be used with the preferred systemcontroller, embodiments may retrieve the appropriate software fromconfiguration server 130.

A configuration process may include step 113, in which information maybe obtained by end user 115 from vendor server 125. Information storedon vendor server 125 may include information about an end user for whomthe bicycle is intended, a jurisdiction or geographic area in which thebicycle is to be used, or the like. In some embodiments, informationabout a geographic area in which the bicycle is to be used includesinstructions that the system controller or CVT controller will executeto operate according to particular laws or regulations. For example, ifa particular municipality has a maximum bicycle speed, execution of theinstructions may control the CVT in a way that optimizes the CVT atspeeds less than the maximum speed. In some embodiments, vender server125 may communicate with OEM 105, device 116, user profile server 135,or configuration server 130 to obtain configuration information,reconcile information or settings, and communicate configurationinformation to a CVT controller or a system controller.

A configuration process may include step 114, in which information maybe obtained from user profile server 135. End user 115 may have set up aprofile that is stored in user profile server 135. If end user 115purchases a new bicycle or rents a bicycle having a system controller ora CVT controller, fields in the user profile may be analyzed to controloperation of the CVT according to user preferences. For example, enduser 115 may prefer smoother acceleration instead of quick acceleration,or may want more motor assistance on a rental bike than on a bike ownedby end user 115. In any case, a user profile stored on user profileserver 135 may store this information in various fields and provide theinformation to a vendor 110 either at a time of purchase (or rental) orsome other point of time. End user 115 may navigate through a series ofsteps to capture information, may be presented a limited number ofoptions, or may use other means to capture information, discussed below.

In addition to the above information, a configuration process mayinclude determining or obtaining other information about the systembeing configured. FIG. 2 depicts a simplified view of a bicycle,illustrating typical mounting locations for wheel speed sensor 201,chain speed sensor 202, bicycle speed sensor 203, system controller 204,pedal speed sensor 205, CVT controller 206 and torque sensor 207 onbicycle 200. However, different vendors may use different sensorsmounted in different locations on the bicycle. Pedal speed sensors areone example of a sensor that may vary according to the vendor withrespect to location, orientation, signal parameters such as frequency,etc. Also, CVT controller 206 may be positioned at the rear wheel axleor at the bottom bracket. Embodiments may determine what sensors areavailable, where the sensors are positioned and other information, andconfigure the bicycle accordingly.

Various bicycles and control systems may need to know differentinformation in order to automatically configure for a particularcomponent, subassembly, assembly, drive train, bicycle, environment,rider, manufacturer or intermediary. Not all information is required foreach scenario. FIG. 3A depicts a flow diagram, illustrating variationsand steps in a CVT control process.

Example 1: As shown in FIG. 3A, a CVT control method 300 may includestep 302 of getting a target cadence (e.g., from system controller 204)and step 306 of adjusting the transmission ratio using system controller204 or CVT controller 206 (see FIG. 3B).

Example 2: As shown in FIG. 3A, a CVT control process 300 may includestep 302 of getting a target cadence (e.g., from system controller 204),step 304 of calculating user power and step 306 of adjusting thetransmission ratio using system controller 204 or CVT controller 206.

Example 3: As shown in FIG. 3A, a CVT control process 300 may includestep 301 of getting a target bike speed (e.g., from bicycle speed sensor203), step 302 of getting a target cadence (e.g., from system controller204), step 304 of calculating user power and step 306 of adjusting thetransmission ratio using system controller 204 or CVT controller 206.

Example 4: As shown in FIG. 3A, a CVT control process 300 may includestep 301 of getting a target bike speed (e.g., from bicycle speed sensor203), step 302 of getting a target cadence (e.g., from system controller204), step 304 of calculating user power, step 305 of getting externalpower input (e.g., from system controller 204 or from sensors associatedwith the external power source) and step 306 of adjusting thetransmission ratio using system controller 204 or CVT controller 206.

Example 5: As shown in FIG. 3A, a CVT control process 300 may includestep 301 of getting a target bike speed (e.g., from bicycle speed sensor203), step 302 of getting a target cadence (e.g., from system controller204), step 304 of calculating user power, step 305 of getting externalpower input (e.g., from system controller 204 or from sensors associatedwith the external power source), step 308 of determining external powerlimits (e.g., battery capability, maximum power capacity, availablepower capacity, power capacity allowed by rules or environment) and step306 of adjusting the transmission ratio using system controller 204 orCVT controller 206.

Example 6: As shown in FIG. 3A, a CVT control process 300 may includestep 301 of getting a target bike speed (e.g., from bicycle speed sensor203), step 302 of getting a target cadence (e.g., from system controller204), step 304 of calculating user power, step 305 of getting externalpower input (e.g., from system controller 204 or from sensors associatedwith the external power source), step 308 of determining external powerlimits (e.g., battery capability, maximum power capacity, availablepower capacity, power capacity allowed by rules or environment), step309 of adjusting the external power and step 306 of adjusting thetransmission ratio using system controller 204 or CVT controller 206.

FIG. 3B depicts a schematic diagram, illustrating steps and variationsin a CVT control scheme.

Example 1: As shown in FIG. 3B, a CVT control process 350 may includestep 302 of getting a target cadence (e.g., from system controller 204),step 307 of determining an actual cadence (e.g., from pedal speed sensor205), step 310A of determining a transmission ratio, step 312A ofdetermining a target transmission ratio, and step 314A of adjusting thetransmission ratio. Steps 310A, 312A and 314A may be performed by CVTcontroller 206 or system controller 204 in communication with CVTcontroller 206.

Example 2: As shown in FIG. 3B, a CVT control process 350 may includestep 302 of getting a target cadence (e.g., from system controller 204),step 307 of determining an actual cadence (e.g., from pedal speed sensor205), step 310B of determining a encoder position, step 312B ofdetermining a target encoder position, and step 314B of adjusting theencoder position. Steps 310B, 312B and 314B may be performed by CVTcontroller 206 or system controller 204 in communication with CVTcontroller 206.

Example 3: As shown in FIG. 3B, a CVT control process 350 may includestep 302 of getting a target cadence (e.g., from system controller 204),step 307 of determining an actual cadence (e.g., from pedal speed sensor205), steps 305A of determining a motor output torque and step 305B ofdetermining a motor output speed, step 310A of determining atransmission ratio, step 312A of determining a target transmissionratio, and step 314A of adjusting the transmission ratio. Steps 310A,312A and 314A may be performed by CVT controller 206 or systemcontroller 204 in communication with CVT controller 206.

Example 4: As shown in FIG. 3B, a CVT control process 350 may includestep 302 of getting a target cadence (e.g., from system controller 204),step 307 of determining an actual cadence (e.g., from pedal speed sensor205), steps 305A of determining a motor output torque and step 305B ofdetermining a motor output speed, step 310B of determining a encoderposition, step 312B of determining a target encoder position, and step314B of adjusting the encoder position. Steps 310B, 312B and 314B may beperformed by CVT controller 206 or system controller 204 incommunication with CVT controller 206.

In addition to these examples and other variations, a manufacturer maywant systems in a preferred warranty configuration, a user might wantseveral different bikes to be configured such that they all haveapproximately the same feel, local laws and regulations may also dictatehow a bicycle can be configured (particularly if the bicycle is ane-bike or otherwise has external (non-human) power applied in lieu of orin addition to user pedal input), etc.

A configuration system determines what information is going to be usedto control a CVT. Furthermore, a configuration system may also establishwhat controller, software or combination will be managing the control ofthe CVT.

In some embodiments, configuration instructions may establish that a CVTcontroller may receive only specific instructions for changing a tiltangle for the CVT, and a system controller communicatively coupled tothe CVT controller will receive, determine or otherwise obtaininformation and forward information to the CVT controller necessary toadjust the CVT. For example, in a simplest scenario, a system controllermay obtain pedal speed (“cadence”) information indicating the number ofrevolutions per minute (RPM) of the pedals. If the cadence is higherthan a predetermined cadence, the system controller sends information tothe CVT controller indicating a desired CVT setting (e.g., settransmission ratio to 1:1) or a desired change in a CVT setting (e.g.,increase tilt angle by 2 degrees).

In other embodiments, configuration instructions may establish that thesystem controller may perform a portion of the calculations and sendinga signal to the CVT controller, with the CVT controller calculating,referencing table lookups, or otherwise determining only the signals orprocesses needed to adjust the CVT based on the signal received from thesystem controller. The CVT controller adjusts the transmission ratio forthe CVT based on the signal received from the system controller. Forexample, the system controller may determine the present pedal speed andsignal that information to the CVT controller, along with a direction toadjust the CVT transmission ratio to achieve a desired pedal speed or toincrease/decrease the pedal speed by a certain number of RPMs. Uponreceiving the information, the CVT controller calculates, references atable lookup, or otherwise determines what tilt angle or encoderposition is needed to achieve the desired pedal speed, and adjusts theCVT accordingly.

In other embodiments, information is provided by the system controllerto the CVT controller, and the CVT controller determines how to achievea desired transmission ratio, a desired change in transmission ratio, anoutput speed, a desired change in output speed, or the like. The systemcontroller may determine the present wheel speed and a desired wheelspeed and signal the information to the CVT controller, whichcalculates, uses lookup tables, or otherwise determines a necessary tiltangle and adjusts the CVT accordingly. For example, a system controllermay determine bicycle speed and pass the information to the CVTcontroller. The CVT controller may have stored in memory the number ofteeth on a front gear, the number of teeth on a rear gear, and acircumference of a rear wheel. Then, if a user wants to pedal at aselected pedal RPM (including a pedal RPM range), the CVT controller maydetermine the pedal RPM based on the bicycle speed (received from thesystem controller) and the gear ratio between the front gear and therear gear (stored in local memory), and can then adjust the CVTtransmission ratio accordingly. Those of skill in the art willappreciate that the CVT controller might know the number of teeth on thefront gear and the number of teeth on the rear gear, or might know theratio between the front gear and the rear gear.

The number, type, or position of sensors may differ among bicycle framesand components. Furthermore, in some embodiments, one or more sensorsmay communicate directly with the CVT controller. The CVT controller maycommunicate with the system controller and also may receive signalsassociated with pedal speed (RPM), pedal torque, chain speed, or thelike, directly from the sensor(s). For example, in systems havingmultiple gears, the CVT controller may receive a signal indicating chainposition (indicating in which gear the chain is engaged). In thesescenarios, a system controller may receive chain position informationand send the CVT controller the information necessary to adjust the CVT.The system controller may receive information on chain position andeither send the information directly to the CVT controller or determinea gear ratio (corresponding to the ratio of the front gear to the reargear) and send the gear ratio to the CVT controller. In someembodiments, a sensor may be integrated into the CVT controller,including integration in a wiring harness. In other embodiments, the CVTcontroller may receive chain position information either directly fromthe sensors or from the system controller and determine the gear ratio.The CVT controller may then determine an appropriate transmission ratiobased on the gear ratio.

The foregoing describes various systems implementing system controllersand CVT controllers. A process for establishing these control schemesmay be set up by a user in various ways, discussed below.

A process for configuring a bicycle control system by an OEM may involvecommunicatively coupling a CVT controller, a system controller, or bothto an OEM server or other computer. If the OEM is producing a finishedbicycle, the OEM server or computer may provide additional informationto the CVT controller or the system controller. Information provided tothe CVT controller may include gear ratio, the number of teeth on afront gear, the number of teeth on a rear gear, the number of frontgears, the number of rear gears, a chain length, or the like.Information provided to a system controller or CVT controller may alsoinclude control information, including closed loop control parameters,open loop control parameters, parameters for switching between closedloop and open loop control, calibration parameters including triggersfor initiating calibration, calibration steps, and triggers for ceasingcalibration. In some embodiments, triggers may include operatingconditions. Operating conditions may include information such as pedalRPM, pedal torque, the presence of a load, etc. As an example, acontroller may detect or receive signals indicating a user is applying alarge torque or there is a high pedal speed but slow vehicle movement.The controller may determine that this is a high (or heavy) load. TheCVT may then determine that the CVT should be operating in a closedloop. If the pedal speed or torque decreases or the vehicle speedincreases, the controller may determine the bicycle is operating with alighter load and may switch to an open loop process.

In some embodiments, once the system controller or CVT controller ispowered up by the user, execution of a set of instructions enables thesystem controller or CVT controller to begin operation in either closedloop or open loop control, according to one or more parameters. Thesystem controller or CVT controller may communicate with an OEM serveror other computer to set up or configure a controller area network(CAN), including initializing communications between sensors and the CVTcontroller or system controller and ensuring communication compatibilitybetween the system controller and the CVT controller. Ensuringcommunication compatibility between the system controller and the CVTcontroller may include establishing a rate of communication between theCVT controller and the system controller, whether communications are tobe push type (automatically provided) communications or whether theyshould be prompted. For example, if the system controller performs allcalculations and directs the CVT controller to adjust the tilt angle toreach a desired tilt angle, the CVT controller may automatically providethe system controller with information about the tilt angle in responseto a command to change the tilt angle.

Initial setup may be completed by the OEM through an implemented bikeidentification (ID) on a drive system electronic control unit (ECU). Instep 122, OEM 105 may receive configuration information in the form ofspecifications and feedback from configuration server 130, or mayreceive configuration information from vendor server 125 in step 109.Either at vendor 110 or end user 115, a controller unit then provides ahandshake and configures the system according to according to one ormore predefined settings provided by OEM 105 and stored in a bike IDlibrary on configuration server 130.

In one embodiment, an auto-configuration system may include a controllerarea network (CAN) with a system controller communicatively coupled tosensors and a CVT controller. At start up, the system controller sends amutually pre-defined packet over the CAN bus to the CVT controller whichstores information about components. The number of teeth on a front gear(Tf), the number of teeth on a rear gear (Tr), and the rear wheelcircumference (Cw) may be included in the information. The CVTcontroller initializes a variable for each Tf, Tr and Cw fromnon-volatile memory, then when the CVT controller receives the mutuallydefined pack from the system controller, it updates the variables involatile memory.

In one embodiment, an auto-configuration system may include a controllercoupled to a plurality of sensors and further communicatively coupled toa GPS or other distance sensor. The sensors may include a CAN, a Wp(Pedal Speed Sensor), a Wc (Gear or Cog Speed sensor), a Ww (Wheel SpeedSensor), and a GPS or other distance sensor. At start up, the systemcontroller and the CVT controller load default parameters. A set ofsteps or subroutines are then performed by a set of computerinstructions stored in memory and executable by the controller.

Calculation of a wheel circumference may be performed as follows. Thesystem controller transmits a mutually pre-defined packet to a CVTcontroller with the variable DISTANCE set to zero and clears a distancecounter. When the CVT controller receives the packet with the variableDISTANCE set to zero, it clears a counter for Output Speed Ring (OSR)counts (e.g. 6 pulses per rev (ppr), OSR_ppr) and begins accumulatingOSR counts until the system controller sends the mutually pre-definedpacket to the CVT with the variable DISTANCE set to a non-zero value. Onreceiving a non-zero value the CVT will compute the wheel circumference(Cw) then store the value in a variable in non-volatile memory.

Once the distance is known (such as by riding a known distance, usingGPS or some other means), the wheel circumference may be calculated as:

Cw=DISTANCE/(OSR_pulses/OSR_ppr)  (Equation 1)

whereby the wheel circumference is calculated based on output speed ring(OSR) pulses divided by OSR Pulses per revolution. This calculation andmethod can be repeated for a short duration to get a quick estimateshortly after power up, then a longer distance can be used to refine thevalue.

In some scenarios, a CVT controller may function knowing only the ratioof Tf:Tr. This ratio can be discovered by the system controller, whichthen transmits a mutually pre-defined packet to the CVT controller withthe variable PEDAL_REVOLUTIONS to zero and clears a variable PEDAL_REVcounter. When a controller receives the packet with the variablePEDAL_REVOLUTIONS set to zero, it clears a counter for the variableINPUT_SPEED_RING_COUNTS (e.g. 12 pulses per rev, ISR_ppr) and beginsaccumulating input speed ring (ISR) counts until the system controllersends the mutually pre-defined packet to the controller with thevariable PEDAL_REVOLUTIONS set to a non-zero value. Upon receiving anon-zero value, the controller will compute the ratio Tf:Tr, then storethe value in a variable in non-volatile memory. The equation:

Tf:Tr ratio=PEDAL_REVOLUTIONS/(ISR_pulses/ISR_ppr)  (Equation 2)

may be used to determine the ratio of Tf to Tr.

In some embodiments, on initial startup, a user enters the make andmodel of the bicycle. The controller may compare the information aboutmake and model to a database and determine a default configuration basedon the determination. In some embodiments, the determination involvesidentifying a preferred configuration for that specific bicycle. Inother embodiments, determination of a default configuration involvesdetermining a make and model similar to the make and model entered bythe user.

In one embodiment, a drive system manufacturer integrates a bootloaderfunction into their system.

In some bicycles, there may be an external power source such as anelectric motor or a small engine, or some other variation whichincreases the amount of information needed. Embodiments may obtain ordetermine information about the state of operation of electriccomponents. In a configuration process, information about the operatingparameters of the external power source may be stored in a configurationserver, an OEM server, or a vendor server. During the bicycle productionprocess or a control configuration process, part or all of thisinformation may be installed on a system controller or a CVT controller.The system controller or CVT controller may receive informationregarding a preferred power range and configure a plurality of operatingmodes, taking into account the preferred power range. During operationof the bicycle in any of the operating modes, the CVT controller or thesystem controller can monitor the individual components, the interactionbetween two components, or the bicycle as a whole and provide feedbackto OEM 105 or entity 110 for future bicycle production.

For some users, bicycles or environments, entering the make and modelfor a bicycle will be easy. However, if the user is not familiar withwhat to look for or where to look for information, this task can be moredaunting. For example, if a user is unfamiliar with bicycles or bicyclecomponents, they may be unsure of the exact make and model. Compoundingthis is issues with language and branding across different regions. Forexample, a bicycle may be referred to by a first name in a first countryand a second name in a second country. If a user in the second countrydoesn't recognize that the two bicycles are actually the same bicyclebut with different names, the user might enter the wrong make and model,might need to perform iterations to determine the correct make andmodel, or might become frustrated and not purchase the bicycle.

In some embodiments, end user 115 is presented a limited number ofoptions for configuring a bicycle. For example, instead of asking enduser 115 to enter the number of teeth, embodiments may prompt the userto determine if the front gear has 54, 58 or 60 teeth. A method forconfiguring a bicycle may include a configuration storing possiblevalues for CVT controllers, system controllers, and other components.For example, a front gear on a mountain bike typically has fewer teeth(and is smaller) than a front gear on a road bike. Thus, a controller ona mountain bike might provide end user front gear teeth options that arebelow a predetermined number (e.g., less than 48) while the samecontroller mounted on a road bike might provide end user 115 front gearteeth options that are above a predetermined number (e.g., greater than49). In this manner, embodiments assist end user 115 in configuring thebicycle in a way that reduces the possibility for errors while stillallowing end user 115 to participate in the configuration process. Otherexamples of bicycles include commercial bicycles which may have a largestorage container to allow a user to transport cargo, passengers orother heavy items (and may actually have three or more wheels),recumbent bicycles, and other variations.

In other embodiments, a system controller or CVT controller may becommunicatively coupled to a device capable of scanning an opticallabel. For example, in some embodiments, an application running on animaging device or a smart phone or other user device may be used to readthe optical label and provide the necessary information to the CVTcontroller, the system controller or both.

In some embodiments, end user 115 may use existing technology in theform of a camera feature commonly found on smartphones and other devicesto capture information about the physical configuration of a bicycle anduse that information to operationally configure the bicycle. FIG. 4depicts a diagram, illustrating a method for enabling a user to captureinformation without manually entering each piece of information.

In step 401, a user opens an application on a user device, such as butnot limited to a smart phone, a personal data assistant, a tablet, orany other appropriate electronic device. The application may be storedon the smartphone or may be an agent operating on the smartphone thatcommunicates with an application running on a server that is configuredto perform some or all of the processing.

In step 402, the application prompts the user to take pictures of thebicycle physical configuration. The application may determine whichcomponent(s) is (are) being captured in an image or may separate theprocess into steps 402 a-402 d.

In step 402 a, the application prompts the user to take a picture of therear gear. The application may provide information such as a picture orgraphic of where the rear gear is located, what angle the camera shouldbe relative to the rear gear, or otherwise assist the user in capturingthe best image of the rear gear.

In step 402 b, the application prompts the user to take a picture of therear wheel. The application may provide information such as a picture orgraphic of where the rear wheel is located, what angle the camera shouldbe relative to the rear wheel, or otherwise assist the user in capturingthe best image of the rear wheel.

In step 402 c, the application prompts the user to take a picture of thefront gear. The application may provide information such as a picture orgraphic of where the front gear is located, what angle the camera shouldbe relative to the front gear, or otherwise assist the user in capturingthe best image of the front gear.

In step 402 d, the application prompts the user to take a picture of thebicycle. The application may provide information such as what angle thecamera should be relative to the rear gear, or otherwise assist the userin capturing the best image of the rear gear.

In a further step, the application may prompt the user to take a pictureof the front gear and rear gear. The application may provide information(e.g., what angle the camera should be aimed) to assist the user incapturing the best image of the front gear and the rear gear.

In step 403, the information captured by the images is analyzed eitherby execution of a set of instructions installed on the smart phone,stored in memory on a controller associated with the bicycle or a CVT onthe bicycle communicatively coupled to the smart phone, or by a servercommunicatively coupled to the smart phone. Analysis of the imagesdetermines physical parameters of the bicycle. For example, regardingthe image of the rear gear or the front gear, a set of instructions maysuperimpose an overlay correlated with a gear having a selected numberof overlay teeth on the image of the gear. If the gear teeth are notdetectable due to the overlay teeth covering them or in proximity, theanalysis may conclude that the number of gear teeth is the same as thenumber of overlay teeth. Hence, the number of gear teeth for the frontgear or the rear gear can be determined. Similarly, the overlay may beused to determine the gear size or other information. In someembodiments, a set of instructions may be executed to determine twoteeth on the gear. Knowing the arc angle between the two teeth and theradius of the gear, the number of teeth may be calculated. In someembodiments, a profile of a tooth may be compared against existing toothdesigns to determine a manufacturer of the gear. If the manufacturer ofthe gear is known, a gear from the manufacturer's catalog may bedetermined.

In step 404, the configuration information is communicated to acontroller (system or CVT) or a user profile server 135. User profileserver may remain communicatively coupled to user device 116 to ensureany configuration is accurate and complete.

In a similar way, the size of the rear wheel, the crank arm length, andother bicycle physical configuration information may be determined. Insome embodiments, the step of determining bicycle physical configurationinformation may be performed by executing a set of instructions on asmartphone, by a server communicatively coupled to the smartphone, orsome combination.

Information captured by the smartphone may be sent to one or morecomputing devices. For example, FIG. 1 shows step 132 in whichinformation from the user device 116, such as a smartphone, is used tocreate user profile 113, step 142 in which information from thesmartphone is sent to vendor computer 125, and step 152 in whichinformation from the smartphone is sent to configuration server 130. Theinformation may be used to calibrate a bicycle for end user 115 or mayprovide feedback to OEM 105 for future bicycle production.

Auto-Calibration

The systems and methods described above may be useful for configuring abicycle with little or no involvement by the end user. Over time,however, the operating speed, the power source or the power load maycause slip or otherwise bias the CVT into an unwanted state in whichslipping and other negative effects may occur. To avoid these problemsor provide an improved rider experience, CVTs may be calibrated.Calibration for a CVT typically involves finding the mechanical limitsof the shift system and therefore the ratio limits for the continuouslyvariable transmission.

In one embodiment, a user may ride the bicycle and the CVT may becalibrated by adjusting the transmission ratio from full underdrive(FUD) to full over drive (FOD) and back to FUD. The wheel circumferencemay be calculated, and a range and transmission ratio may be calculatedbased on values for the top and bottom ratings. In other embodiments,calibration may involve only a portion of the full range. For example,for safety reasons, having a rider pedal in FOD may be undesirable dueto health concerns for the rider or the route along which the bicyclewould be ridden to perform the calibration. In these cases, calibrationmay be performed over the bottom half of the range. The calibration maystart with the CVT at FUD and ridden until the CVT is determined to beoperating at 1:1. For the bottom half of the range, the CVT will beverified against empirical test data. Above 1:1, the bicycle may becalibrated against a theoretical set of data, a range may beextrapolated, or the like. If the rider actually adjusts the bicycle toFOD, embodiments may then perform calibration between FOD and 1:1 orbetween FOD and FUD to develop empirical data.

In other embodiments, calibration may include correcting for variousloads in a CVT. FIG. 5A depicts a diagram, illustrating transmissionratio over time. A CVT may operate at a first ratio 501 for a time 505.A CVT controller may receive an instruction to adjust a transmissionratio or may determine a desired transmission ratio 502. A command maybe sent by the CVT controller to an encoder to initiate an adjustmenttoward the desired transmission ratio. However, a load applied to thetransmission may affect the transmission ratio. As illustrated in FIG.5A, actual transmission ratio 502 may never equal target transmissionratio 504. Embodiments may correct for the load applied in various ways.

A control scheme may include closed loop and open loop algorithms. FIG.5B depicts a diagram of transmission ratio relative to time,illustrating a control scheme using open loop and closed loop controlschemes under different conditions. The CVT may be operating at a firstratio 501 for time 505. A CVT controller may receive an instruction toadjust a transmission ratio or may determine a desired transmissionratio 503. A command may be sent by the CVT controller to an encoder toinitiate an adjustment toward the desired transmission ratio accordingto a closed loop algorithm. Using the closed loop algorithm over time506, the controller is able to accurately adjust the CVT so the actualtransmission rate 503 is equal to desired ratio 504. The CVT controllermay then switch to an open loop control scheme for time 407.

A closed loop algorithm may ensure the transmission ratio is adjustedaccording to a desired rate 506, occurs over a desired time 506, or someother parameter. Operating according to a closed loop algorithm mayrequire more (battery) power to receive sensor information, perform thenecessary calculations, and communicate between controllers to adjustthe CVT. Accordingly, a closed loop control system may require moresensors, a larger battery, more memory, a faster processor, or the like.Operating according to an open loop control scheme may be less accurate.However, an open loop control scheme will generally require lessinformation (from fewer sensors), and may be more tolerant to variationsin bicycle performance (e.g., a person pedaling, then coasting). Someembodiments may utilize both a closed loop and an open loop controlscheme. When a command is given to adjust the transmission ratio, thecontrol system may operate according to a closed loop control scheme.Once the CVT reaches the desired a desired transmission ratio, thecontrol scheme may switch back to an open loop control algorithm. Theclosed loop control scheme may be initiated whenever a load is detected,when cadence is above (or below) a threshold, or the like. In someembodiments, the determination of whether to use a closed loop or anopen loop control scheme may occur during manufacturing orconfiguration. For example, if a system controller is going to be usedon a racing bike, a closed loop scheme may be used, whereas the samecontroller being used on a beach cruiser may operate according to anopen loop system. There are advantages to operating according to eitherclosed loop or open loop control schemes. For example, a closed loopcontrol scheme may be more accurate. In some embodiments, when a commandis given (either by a system controller or a CVT controller) to adjust aCVT to a desired transmission ratio, the control scheme operatesaccording to a closed loop algorithm.

In some embodiments, calibration may include determining a polynomial orother function representing a transmission performance parameter. Forexample, a polynomial may be determined for transmission ratio relativeto applied loads. A CVT may operate under a control scheme based on afirst polynomial. If a controller determines a load on the CVT, thecontroller may determine a new polynomial. In a simple scenario,determining a load on the CVT may be achieved by determining an inputspeed and input torque for a rider. In other scenarios, determining aload on a CVT may be achieved by determining an input speed and torqueproduced by a rider and an input speed and torque produced by a motor ora motor torque and motor current.

Calibration may employ an adaptive algorithm that uses available inputsto discover the shift system mechanical limits during normal operationand with as few interruptions to normal use as possible. On initialstartup, the make and model of the bike and a default configurationsetting is established and stored in memory. Over the course of a ride,a CVT controller, a system controller constantly stores data for aperiod of time (e.g., 30 seconds, 1 minute, etc.) for certain inputs. Ifthe rear wheel speed and cadence demanded is constant for more than acertain period of time (say 30 seconds) then the computer continues torecord data in that dataset until the rear wheel speed changes by morethan a preset amount (say 5 RPM) at that point the computer considersthe dataset and calibrates for the beginning of the dataset and the endand adjusts the configuration settings according to any mismatch of theconfigured output. In some embodiments, the calibration is performedusing GPS coordinates, such as adjusting a setting according to amismatched data of a calculated output from the GPS setting.

In another embodiment, a calibration system may compare informationreceived from one or more sensors and compare the information withpredicted values stored in memory. A bicycle may have sensors for pedaltorque, pedal speed, chain speed, chain position, wheel speed andbicycle speed. A calibration system may receive and compare values forpedal speed, wheel speed and bicycle speed to determine a predictedpedal torque. If the predicted pedal torque value differs from an actualtorque value by a threshold amount, calibration may be initiated. Achain speed sensor, a wheel speed sensor, and the ratio Tf:Tr may beused to determine pedal speed. A chain speed sensor may employ amagnetized chain component or a magnet embedded with a chain, and asensor capable of detecting the magnet as it passes by each rotation. Anadvantage to using a chain speed sensor is that the sensor may bepositioned anywhere along the chain path, and can be positioned awayfrom the wheel hubs and pedals. Other types of sensors, includingoptical sensors capable of detecting variations in chain dimensions oroptical cues, are possible.

A method of configuring a controller for a continuously variabletransmission on a bicycle may include establishing a first configurationsetting, monitoring a set of riding data to determine when a steadystate speed is maintained for a specified period of time, recording theriding data until the earlier of a second specified period or until theriding data deviates by a predetermined amount from the steady statespeed, identifying a control set of data by comparing a first set of GPSdata at the beginning of the recorded data to a second set of GPS dataat the end of the recorded data, comparing the recorded data against thecontrol set of data to develop an error value, and establishing a secondconfiguration setting for the controller based on the error value. Insome embodiments, the method may include requesting and receiving aninput of information from a user, and correlating the informationreceived from the user with a set of stored data to establish the firstconfiguration setting. In some embodiments, the information that isprovided in the input of information step comprises one or more of thefollowing; bicycle model, tire size, the number of front chain ringteeth, the number of rear cog teeth, bicycle size and serial number. Insome embodiments, the riding data can include one or more of wheelspeed, pedal cadence, expected bicycle speed, bicycle position andcontinuously variable transmission ratio. In some embodiments, the stepsof monitoring, recording, identifying, comparing and establishing asecond configuration setting are repeated until the error value iswithin a specified tolerance. In some embodiments, the process isrepeated to monitor the configuration setting and ensure it remainswithin the specified tolerance. The process may be repeated periodicallyor when the bike senses certain conditions, such as a flat (orrelatively flat) profile. In some embodiments, the period of timebetween monitoring the configuration setting is no more than one month.In some embodiments, the period of time between monitoring theconfiguration setting is no more than one week. In some embodiments, theprocess to monitor the configuration setting of the controller occursevery time the bicycle remains at a steady state, meaning speed andcadence are within the defined tolerance, for more than 30 seconds.

Calibration may include determining how to calibrate the bicycle. Forexample, calibration may involve sweeping the entire range of a ballplanetary type CVT or may involve sweeping a smaller range.

Calibration may include a bicycle periodically executing a process todetermine if calibration is necessary. Execution of a calibrationprocess is performed without user intervention. A controller may use thetransmission ratio to calculate an expected user pedal speed, andcompare the expected user pedal speed with a user pedal speed associatedwith the transmission ratio sored in memory. If the calculated userpedal speed differs from the user pedal speed stored in memory by aselected threshold, a calibration process may be initiated. Referring toFIG. 1, in step 155, information about a calibration process may becommunicated from a bicycle owned or rented by end user 115 to userprofile server 135 or configuration server 130. Configuration server 130may aggregate information from a set of end users having the samebicycle, CVT, or other component and provide feedback 122 to OEM 105 forincorporation into future manufacturing or configuration processes.

What we claim is:
 1. A method for automatically configuring a controlsystem on a bicycle, comprising: communicating, by a continuouslyvariable transmission (CVT) controller executing a startup routine, afirst packet of information to a system controller, the first packet ofinformation containing a set of operating parameters for a continuouslyvariable transmission (CVT); receiving, by the system controller, asecond packet of information comprising a set of operating parametersfor an electric motor or a set of parameters for a rider preference; andoperating the CVT according to a set of parameters based on the firstpacket of information and the second packet of information.
 2. Themethod of claim 1, wherein the first packet of information is receivedfrom a server, a vendor computer or a third-party computing device. 3.The method of claim 1, wherein the second packet of information isreceived from a server, a vendor computer or a third-party computingdevice.
 4. The method of claim 1, wherein the set of parameters for arider preference includes information about a geographic area orjurisdiction, and wherein operating the CVT is performed based on thegeographic area or jurisdiction.